package cn.tedu.hospitalgroupproject.server.content.dao.persist.repository;

import cn.tedu.hospitalgroupproject.server.common.pojo.vo.PageData;
import cn.tedu.hospitalgroupproject.server.content.pojo.entity.DiagnosisReport;
import cn.tedu.hospitalgroupproject.server.content.pojo.entity.Doctor;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.AppointmentListVO;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.DiagnosisReportListVO;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.DiagnosisReportStandardVO;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.DoctorStandardVO;

public interface IDiagnosisReportRepository {

    /*插入诊断报告数据*/
    int insert(DiagnosisReport diagnosisReport);
    /*删除指定ID下的诊断报告数据*/
    int deleteById(Long id);
    /*根据指定ID获取诊断报告数据*/
    DiagnosisReportStandardVO getStandardById(Long id);
    /**
     * 根据ID修改诊断报告数据
     *
     * @param  diagnosisReport 封装了被修改数据的ID和新数据的对象
     * @return 受影响的行数
     */
    int updateById(DiagnosisReport diagnosisReport);
    /**
     * 根据诊断时间查询预约单列表
     *
     * @param pageNum  页码
     * @param pageSize 每条记录数
     * @return 诊断报告列表的分页数据
     */
    PageData<DiagnosisReportListVO> listByCreateTime(Integer pageNum, Integer pageSize, String createTime);
    /**
     * 根据患者姓名查询预约单列表
     *
     * @return 诊断报告列表的分页数据
     */
    PageData<DiagnosisReportListVO> listByPatientName(Integer pageNum, Integer pageSize, String patientName);

    /**
     * 查询诊断报告列表
     *
     * @param pageNum  页码
     * @param pageSize 每条记录数
     * @return 诊断报告列表的分页数据
     */
    PageData<DiagnosisReportListVO> list(Integer pageNum, Integer pageSize);

}
